package 刷题.leedcode141;
//快慢指针法
public class Solution2 {
    public boolean hasCycle(ListNode head){
        //设置两个指针，指向头结点head
        //一个指针一次前进一步，一个前进两步
        //若快指针为null，则不成环
        //若快指针和慢指针相等，则为环
        ListNode prev =head;
        ListNode cur = head;
        while(cur != null && cur.next != null){
            prev = prev.next;
            cur = cur.next.next;
            if(prev == cur){//只有这一种情况成环
                return true;
            }
        }
        return false;
    }
}
